#ifndef _CARTE_H
#define _CARTE_H

#include <gdk-pixbuf/gdk-pixbuf.h>

/**\author JMC & Guaruina */

/** Définition d'un type booléen */
typedef char booleen;
/** Définition d'un type Couleur */
typedef enum {PIQUE, COEUR, CARREAU, TREFLE}Couleur;

typedef struct sCarte
{
    Couleur couleur;
    int rang;
    int pts;
    int pts_atout;
    booleen atout;
    booleen jouee;
    GdkPixbuf *pixbuf;
}Carte;

/** @brief
Initialise les champs de la structure, notamment pour mettre à 0 le booleen 'atout' */
void initCarte(Carte*);

/** @brief
Donne à une carte le statut d'atout */
void setAtout(Carte*);

/** @brief
Fixe le booleen 'jouee' à 1 : la carte sera considérée comme etant jouée*/
void setJouee(Carte*);

/** @brief
Accesseur : renvoie la valeur de la carte*/
int getValeur(const Carte*);

/** @brief
Accesseur : renvoie la valeur de la carte à l'atout*/
int getValeurAtout(const Carte*);

/** @brief
Accesseur : renvoie le rang de la carte*/
int getRang(const Carte*);

/** @brief
Accesseur : renvoie la couleur de la carte*/
Couleur getCouleur(const Carte*);

/** @brief
Accesseur : renvoie la couleur de la carte pour l'affichage*/
char* getCouleurAff(const Carte*); /* Aff pour affichage */

/** @brief
Accesseur : renvoie le rang de la carte pour l'affichage*/
char* getRangAff(const Carte*);

#endif
